文档

快速使用数据湖分析版实例

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

数据湖分析版实例适用于查询存储在Apache Hive、Apache Iceberg、Apache Hudi以及Apache Paimon等多种数据湖上的数据,并涵盖OSS、OSS-HDFS、HDFS等平台,无需数据迁移即可实现快速的数据湖查询分析,且其性能比Presto高出3到5倍。本文以创建Hive Catalog为例,为您介绍如何查询Hive上的数据。

前提条件

  • 注册阿里云账号,并完成实名认证。具体操作请参见账号注册(PC端)

  • 如果是RAM用户,已授权AliyunEMRStarRocksFullAccess系统权限策略。

    说明

    创建和管理StarRocks实例需要具备AliyunEMRStarRocksFullAccess系统权限策略。

操作流程

  1. 创数据湖分析版StarRocks实例

  2. 场景一、查询DLF中的数据场景二、查询Hive集群中的数据

创建数据湖分析版StarRocks实例

  1. 进入EMR Serverless StarRocks实例列表页面。

    1. 登录E-MapReduce控制台

    2. 在左侧导航栏,选择EMR Serverless > StarRocks

    3. 在顶部菜单栏处,根据实际情况选择地域。

  2. 实例列表页面,单击创建实例

  3. 选择数据湖分析版的实例类型。

  4. E-MapReduce Serverless StarRocks页面,完成实例相关配置。

    配置项

    示例

    描述

    付费类型

    按量付费

    支持包年包月和按量付费的计费方式。

    地域

    华北2(北京)

    实例所在的物理位置。

    重要

    实例创建后,无法更改地域,请谨慎选择。

    可用区

    可用区I

    实例所在可用区。

    重要

    实例创建后,无法更改可用区,请谨慎选择。

    专有网络

    vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****

    选择对应地域下的专有网络。如果没有,单击创建VPC进行创建。创建完成后,单击右侧的刷新图标图标,可以选择刚创建的VPC。

    重要

    请确保您要访问的EMR集群与StarRocks实例都处于同一专有网络内,或者通过适当网络配置实现网络互通。

    交换机

    vsw_i/vsw-bp1e2f5fhaplp0g6p****

    选择在对应专有网络下所选可用区内的交换机。如果在所选专有网络下没有交换机,可单击创建交换机前往创建。创建完成后,单击右侧的刷新图标图标,可以选择刚创建的交换机。

    负载均衡

    选中

    会开通负载均衡。StarRocks FE内网服务,依赖负载均衡的CLB私网服务。

    警告

    使用负载均衡会产生费用,相关计费说明,请参见CLB计费概述

    实例系列

    标准版

    支持入门版标准版,详情请参见实例系列说明

    版本

    3.1

    StarRocks的社区版本号。

    CN规格

    8 CU

    支持规格:8CU、16CU、32CU、64CU。

    CN节点存储

    使用默认值即可

    用于数据存储,需要结合您期望数据读写性能选择合适的云盘类型、云盘大小,以及云盘个数。

    • 缓存盘类型:推荐ESSD PL1云盘。更多信息,请参见块存储概述

    • 缓存盘大小:数量范围为50 ~ 65000 GB。

      说明

      您可以输入所需的存储容量,系统将自动提供默认的推荐配置。如果您选择的云盘容量超出建议的阈值,系统会弹出相应的提示,帮助您做出适当的调整以确保最佳性能。

      • PL0:最大为320 GB。

      • PL1:最大为460 GB。

      • PL2:最大为1260 GB。

      • PL3:最大为7760 GB。

    • 缓存盘数量:默认为1个。

    CN节点数量

    3

    StarRocks CN节点的数量。

    高可用

    开启

    默认开启。标准版支持开启高可用,打开高可用开关后,StarRocks FE节点数由1增加为3,以降低故障风险。

    重要

    生产环境强烈建议您开通高可用。

    FE资源配置

    • 规格:8 CU。

    • 存储大小:100 GB。

    • 节点数量:3个。

    • 入门版:FE的资源配置默认为4 CU,50 GB,节点数量为1。

    • 标准版:FE资源配置会随着BE的数量以及资源配置而自动适配。另外,FE的节点数量取决于是否开启高可用,不开启高可用,FE节点数量为1;开启高可用,FE节点数量为3。

    实例名称

    自定义实例名称。

    实例名称,长度限制为1~64个字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。

    管理员用户

    admin

    用于管理StarRocks的管理员用户,默认为admin,无法修改。

    登录密码确认密码

    自定义密码。

    StarRocks实例内置管理员用户admin的密码。请记录该配置,管理和使用StarRocks实例需要您输入该密码。

    密码长度限制为8~30个字符,且必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符@#$%^*_+-

  5. 选中服务协议,单击创建实例,根据提示完成支付。

    支付完成后,回到实例管理页面,查看创建的实例。当实例状态运行中时,表示实例创建成功。

场景一、查询DLF中的数据

(可选)步骤一、创建DLF元数据的Hive集群

该场景需要使用阿里云DLF作为Hive Catalog元数据中心,所以需要开通DLF服务。您可以在DLF开通页面开通DLF服务。

说明

如果您的DLF中已有数据,则可以忽略该步骤。如果没有数据,建议参考本步骤先创建一个EMR集群,写入测试数据,确保后续查询能返回有效结果。

  1. EMR on ECS页面,创建一个DataLake类型的集群,需选中Hive服务,并且元数据选择DLF统一元数据。创建集群操作,请参见创建集群

  2. 通过SSH方式连接集群,详情请参见登录集群

  3. 执行以下命令,创建Hive测试表。

    进入Hive客户端及Hive基础操作,请参见Hive基础操作

    create database test_db;
    create table test_db.hive_test(id int, name string);
    insert into test_db.hive_test values(1, 'Alice'),(2, 'Bob');

步骤二、连接StarRocks实例

  1. 实例列表页面,单击操作列的连接实例

    您也可以通过其他方式连接StarRocks实例,详情请参见连接实例

  2. 连接StarRocks实例。

    1. 新建连接页签,配置以下信息。

      参数

      示例

      描述

      地域

      华东1(杭州)

      选择已创建的StarRocks实例所在的物理位置。

      实例

      StarRocks_Serverlesss

      选择已创建的StarRocks实例的名称。

      连接名称

      Connection_Serverlesss

      实例名称,自定义输入。

      长度限制为1~64字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。

      用户名

      根据实际情况输入

      默认初始用户名为admin,您可以选择使用该用户名进行连接,或者根据需要创建其他用户,创建用户详情请参见管理用户及数据授权

      密码

      根据实际情况输入

      StarRocks实例中已创建的用户名对应的密码。

    2. 单击测试连通性

    3. 验证通过后,单击确定

      进入SQL Editor页面,即可执行相关的SQL。更多使用信息,请参见通过EMR StarRocks Manager连接StarRocks实例

步骤三创建External DLF Catalog

  1. SQL Editor查询列表页面,单击image.png图标。

  2. 输入以下命令,单击运行

    CREATE EXTERNAL CATALOG hive_dlf
    PROPERTIES 
    (
        "type" = "hive",
        "hive.metastore.type" = "DLF"
    );

    SQL Editor数据库页面,单击image图标,即可看到hive_dlf相关的信息。

    image

    此外,创建External DLF Catalog时还支持其他属性,例如dlf.catalog.iddlf.catalog.regiondlf.catalog.endpoint等。如果您不想使用DLF默认的数据目录(通常与您阿里云账号UID相同),而是在步骤一中创建了一个新的DLF数据目录,假设其名称为new_dlf_catalog,您可以通过如下两种方式创建Catalog,使得其能够访问到新的数据目录:

    • 通过修改配置文件

      您可以通过修改hive-site.xml来控制所有DLF Catalog的默认配置。修改方法为:

      1. 在Serverless StarRocks控制台的实例配置中找到hive-site.xml。

      2. dlf.catalog.id参数的值修改为您新创建的DLF数据目录名称,例如new_dlf_catalog,然后提交修改。

      3. 重启后,实例中所有Catalog以及新建的Catalog都会使用更新后的配置。

    • 通过SQL语句直接指定属性

      如果您希望更改特定Catalog的DLF配置,而不重启集群,可在创建Catalog的SQL语句中指定新的属性,属性信息的键和值与配置文件hive-site.xml完全一致。

      CREATE EXTERNAL CATALOG hive_dlf_new
      PROPERTIES 
      (
          "type" = "hive",
          "hive.metastore.type" = "DLF",
          "dlf.catalog.id" = "new_dlf_catalog" #修改为您的数据目录名称。
      );

步骤四、查询数据

  • 查看Catalog中的所有数据库

    SHOW DATABASES FROM hive_dlf;

    可能的结果如下所示。

    +----------+
    | Database |
    +----------+
    | default  |
    | test_db  |
    +----------+
  • 查看Catalog中的所有数据表

    SHOW TABLES FROM hive_dlf.test_db;

    可能的结果如下所示。

    +-------------------+
    | Tables_in_test_db |
    +-------------------+
    | hive_test         |
    +-------------------+
  • 查询表中所有数据

    SELECT * FROM hive_dlf.test_db.hive_test;

    可能的结果如下所示。

    +------+-------+
    | id   | name  |
    +------+-------+
    |    1 | Alice |
    |    2 | Bob   |
    +------+-------+

场景二、查询Hive集群中的数据

(可选)步骤一、创建RDS或MySQL元数据的Hive集群

说明

如果您已有EMR Hive集群,则可以忽略该步骤。

  1. EMR on ECS页面,创建一个DataLake类型的集群,需选中Hive服务,并且元数据选择DLF统一元数据

    创建集群操作,请参见创建集群

    重要

    请确保EMR集群和Serverless StarRocks实例使用相同的VPC。

  2. 通过SSH方式连接集群,详情请参见登录集群

  3. 执行以下命令,创建Hive测试表。

    进入Hive客户端及Hive基础操作,请参见Hive基础操作

    create database test_db;
    create table test_db.hive_test(id int, name string);
    insert into test_db.hive_test values(1, 'Alice'),(2, 'Bob');

步骤二、连接StarRocks实例

  1. 实例列表页面,单击操作列的连接实例

    您也可以通过其他方式连接StarRocks实例,详情请参见连接实例

  2. 连接StarRocks实例。

    1. 新建连接页签,配置以下信息。

      参数

      示例

      描述

      地域

      华东1(杭州)

      选择已创建的StarRocks实例所在的物理位置。

      实例

      StarRocks_Serverlesss

      选择已创建的StarRocks实例的名称。

      连接名称

      Connection_Serverlesss

      实例名称,自定义输入。

      长度限制为1~64字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。

      用户名

      根据实际情况输入

      默认初始用户名为admin,您可以选择使用该用户名进行连接,或者根据需要创建其他用户,创建用户详情请参见管理用户及数据授权

      密码

      根据实际情况输入

      StarRocks实例中已创建的用户名对应的密码。

    2. 单击测试连通性

    3. 验证通过后,单击确定

      进入SQL Editor页面,即可执行相关的SQL。更多使用信息,请参见通过EMR StarRocks Manager连接StarRocks实例

步骤三:创建External Hive Catalog

  1. SQL Editor查询列表页面,单击image.png图标。

  2. 输入以下命令,单击运行

    CREATE EXTERNAL CATALOG hive_catalog
    PROPERTIES 
    (
        "type" = "hive",
        "hive.metastore.type" = "hive",
        "hive.metastore.uris" = "thrift://192.168.**.**:9083"
    );

    代码中的thrift://192.168.**.**:9083为您创建集群的Metastore Thrift Server地址,请根据实际情况替换。

    说明

    需确保Serverless StarRocks实例能够访问EMR集群所在的安全组。两者处于同一个VPC下时,例如在本例中内网IP为192.168.**.**,则需要在EMR集群所在的安全组中授权192.168.**.**/24网段所需端口的访问权限。

    SQL Editor数据库页面,单击image图标,即可看到hive_catalog相关的信息。

    image

步骤四、查询数据

  • 查看Catalog中的所有数据库

    SHOW DATABASES FROM hive_catalog;

    可能的结果如下所示。

    +----------+
    | Database |
    +----------+
    | default  |
    | test_db  |
    +----------+
  • 查看Catalog中的所有数据表

    SHOW TABLES FROM hive_catalog.test_db;

    可能的结果如下所示。

    +-------------------+
    | Tables_in_test_db |
    +-------------------+
    | hive_test         |
    +-------------------+
  • 查询表中所有数据

    SELECT * FROM hive_catalog.test_db.hive_test;

    可能的结果如下所示。

    +------+-------+
    | id   | name  |
    +------+-------+
    |    1 | Alice |
    |    2 | Bob   |
    +------+-------+

相关文档

  • 如需了解SQL Editor更多操作,请参见SQL Editor

  • 如需查看当前实例的SQL查询信息,分析SQL的执行计划,及时诊断和排查SQL问题,详情请参见诊断与分析

  • 如需查看并分析数据库中发生的所有操作,请开启审计日志,详情请参见管理审计日志

联系我们

如果您在使用过程中有任何疑问或问题,可以使用钉钉搜索群号24010016636进行咨询。

  • 本页导读 (1)